/**
 * 
 */
package hu.myai.calculators;

import hu.myai.model.db.AxHistory;
import hu.myai.model.misc.KeyValue;
import hu.myai.model.sp.StockPivot;

import java.util.ArrayList;
import java.util.List;

import org.joone.log.ILogger;
import org.joone.log.LoggerFactory;

/**
 * @author bozbalint
 * 
 */
public abstract class AbstractCalculator {

	// current stock symbol name
	protected String symbol;

	protected StockPivot maxStock = null;

	protected StockPivot minStock = null;

	protected StockPivot referenceStock = null;

	protected List<StockPivot> stockPivotList = new ArrayList<StockPivot>();

	protected List<AxHistory> stockList = new ArrayList<AxHistory>();

	protected static final ILogger log = LoggerFactory.getLogger(AbstractCalculator.class);

	protected int quality;

	protected AbstractCalculator(String symbol, StockPivot maxStock, StockPivot minStock, List<AxHistory> stockList,
			List<StockPivot> stockPivotList) {

		this.symbol = symbol;
		this.maxStock = maxStock;
		this.minStock = minStock;
		this.stockPivotList = stockPivotList;
		this.stockList = stockList;
	}

	public abstract int calculator(int mode);

	public abstract KeyValue[] getNexts();
}
